package bosc.cn.dto.wallet;

import bosc.cn.dto.common.CommonRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 钱包领用登记请求 DTO
 */
@Data
public class WalletRegisterReqDTO {

    // 钱包ID
    @NotBlank(message = "钱包ID不能为空")
    @Size(max = 16, message = "钱包ID长度不能超过16")
    private String wltId;

    // 企业名称
    @NotBlank(message = "企业名称不能为空")
    @Size(max = 256, message = "所属企业名称长度不能超过256")
    private String cstNm;

    // 企业证件类型
    @NotBlank(message = "企业证件类型不能为空")
    @Size(max = 4, message = "企业证件类型长度不能超过4")
    private String cstIdentTp;

    // 企业证件号码
    @NotBlank(message = "企业证件号码不能为空")
    @Size(max = 60, message = "企业证件号码不能超过60")
    private String cstIdentNo;

    // 经办人姓名
    @Size(max = 256, message = "经办人姓名不能超过4")
    private String oprNm;

    // 经办人证件类型 (例：IT01 居民身份证)
    @Size(max = 4, message = "经办人证件类型长度不能超过4")
    private String oprIdentTp;

    // 经办人证件号码
    @Size(max = 18, message = "经办人证件号码长度不能超过18")
    private String oprIdentNo;

    // 经办人手机号码
    @Size(max = 11, message = "经办人手机号码长度不能超过11")
    private String oprMblNo;

    // 组织机构代码
    @NotBlank(message = "组织机构代码不能为空")
    @Size(max = 9, message = "组织机构代码长度不能超过9")
    private String cstNo;

    // 领用人硬件Key
    @NotBlank(message = "领用人硬件Key不能为空")
    @Size(max = 32, message = "领用人硬件Key长度不能超过32")
    private String subWltKey;

    // 领用人工号
    @NotBlank(message = "领用人工号不能为空")
    @Size(max = 10, message = "领用人工号长度不能超过10")
    private String userId;

    public String getWltId() {
        return wltId;
    }

    public void setWltId(String wltId) {
        this.wltId = wltId;
    }

    public String getCstNm() {
        return cstNm;
    }

    public void setCstNm(String cstNm) {
        this.cstNm = cstNm;
    }

    public String getCstIdentTp() {
        return cstIdentTp;
    }

    public void setCstIdentTp(String cstIdentTp) {
        this.cstIdentTp = cstIdentTp;
    }

    public String getCstIdentNo() {
        return cstIdentNo;
    }

    public void setCstIdentNo(String cstIdentNo) {
        this.cstIdentNo = cstIdentNo;
    }

    public String getOprNm() {
        return oprNm;
    }

    public void setOprNm(String oprNm) {
        this.oprNm = oprNm;
    }

    public String getOprIdentTp() {
        return oprIdentTp;
    }

    public void setOprIdentTp(String oprIdentTp) {
        this.oprIdentTp = oprIdentTp;
    }

    public String getOprIdentNo() {
        return oprIdentNo;
    }

    public void setOprIdentNo(String oprIdentNo) {
        this.oprIdentNo = oprIdentNo;
    }

    public String getOprMblNo() {
        return oprMblNo;
    }

    public void setOprMblNo(String oprMblNo) {
        this.oprMblNo = oprMblNo;
    }

    public String getCstNo() {
        return cstNo;
    }

    public void setCstNo(String cstNo) {
        this.cstNo = cstNo;
    }

    public String getSubWltKey() {
        return subWltKey;
    }

    public void setSubWltKey(String subWltKey) {
        this.subWltKey = subWltKey;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }
}
